var set = new Set([1, 2, 3, 4, 4, 4, 5])
console.log(set) // Set { 1, 2, 3, 4, 5 }
set.add(6)
set.delete(5)
set.delete(7)
console.log(set) // Set { 1, 2, 3, 4, 6 }
console.log(set.has(6)) // true
set.clear()
console.log(set) // Set {}

// Set遍历方法
let s = new Set(['a', 'b', 'c'])
for (let i of s.keys()) {
  console.log('keys()', i)  // a b c
}
for (let i of s.values()) {
  console.log('values', i) // a b c
}
for (let i of s.entries()) {
  console.log('entries', i) //  [ 'a', 'a' ] [ 'b', 'b' ] [ 'c', 'c' ]
}

var obj = {'c': 3}
var map = new Map([
  ['a', 1],
  ['b', 2],
  [obj, 3]
])
console.log('size', map.size) // 3
console.log('has', map.has(obj)) // true
console.log(map.get('b'))// 2
map.set('d', 4)
console.log(map) // Map { 'a' => 1, 'b' => 2, { c: 3 } => 3, 'd' => 4 }
map.delete('d')
console.log(map) // { 'a' => 1, 'b' => 2, { c: 3 } => 3 }
for (let i of map.keys()) {
  console.log('keys()', i) // a b {c: 3}
}
for(let i of map.values()) {
  console.log('values()', i) // 1 2 3
}
for (let i of map.entries()) {
  console.log('entries', i) // [ 'a', 1 ] [ 'b', 2 ] [ { c: 3 }, 3 ]
}
